home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / editor / blksedtr.lha / BED / Rexx / ShowAG.bed < prev    next >
Text File  |  1996-05-06  |  2KB  |  106 lines

  1. /*
  2. ** $VER: ShowAG.bed 1.0 (03.03.96)
  3. **
  4. ** If a block is selected, save this block as an AmigaGuide database,
  5. ** and display it.
  6. **
  7. ** If no block is selected, determine if the cursor is currently within
  8. ** an AmigaGuide node. If so, create an AmigaGuide database containing only
  9. ** this node, and display it.
  10. **
  11. ** If no block is selected, and the cursor is not currently within an
  12. ** AmigaGuide node, display the whole document as an AmigaGuide database.
  13. */
  14.  
  15. OPTIONS RESULTS
  16. OPTIONS FAILAT 21
  17. TRACE RESULTS
  18. SetDisplayLock ON
  19. SetInputLock ON
  20.  
  21. TaskID = Pragma('ID')
  22. tempname = 'T:ShowAG-' || TaskID
  23.  
  24. GetCursorPos
  25. PARSE VAR RESULT cursorLine cursorColumn .
  26.  
  27. GetBlkInfo
  28. PARSE VAR RESULT blockActive . blockLine blockColumn .
  29.  
  30. GetFileInfo
  31. PARSE VAR RESULT . . '"'nodeName'"' .
  32.  
  33. IF blockActive = OFF THEN DO
  34.  
  35.   GetPrefs FindIgnoreCase
  36.   ignore = RESULT
  37.   SetPrefs FindIgnoreCase ON
  38.  
  39.   GetPrefs FindBackward
  40.   back = RESULT
  41.   SetPrefs FindBackward ON
  42.  
  43.   Find "@node"
  44.   IF RC = 0 THEN DO
  45.     GetLine
  46.     PARSE VAR RESULT . '"' nodeName '"' .
  47.     MoveDown
  48.   END; ELSE DO
  49.     MoveSOF
  50.   END
  51.   MarkBlk
  52.  
  53.   SetPrefs FindBackward OFF
  54.  
  55.   Find "@endnode"
  56.   IF RC > 0 THEN DO
  57.     MoveBookmark 10
  58.   END
  59.  
  60.   IF Open(file, tempname, WRITE) THEN DO
  61.     WriteLn(file,'@database "'nodeName'"');
  62.     WriteLn(file,'@node Main "'nodeName'"');
  63.     Close(file);
  64.   END
  65.  
  66.   CopyBlk UNIT 314
  67.   SaveClip UNIT 314 QUIET NOICON NOBACKUP APPEND tempname
  68.  
  69.   SetPrefs FindBackward back
  70.   SetPrefs FindIgnoreCase ignore
  71.  
  72.   IF Open(file, tempname, APPEND) THEN DO
  73.     WriteLn(file,"@endnode");
  74.     Close(file);
  75.   END
  76.  
  77. END; ELSE DO
  78.   GetBlk lines
  79.  
  80.   IF Open(file, tempname, WRITE) THEN DO
  81.     WriteLn(file,'@database "'nodeName'"');
  82.     WriteLn(file,'@node Main "'nodeName'"');
  83.  
  84.     DO i = 1 TO lines.0
  85.       WriteCh(file,lines.i)
  86.     END
  87.     WriteLn(file,"")
  88.     WriteLn(file,"@endnode");
  89.     Close(file)
  90.     DROP lines.
  91.   END
  92. END
  93.  
  94. SetDisplayLock OFF
  95. SetInputLock OFF
  96.  
  97. ADDRESS COMMAND 'MultiView' tempname
  98.  
  99. IF ~Show(L,'rexxsupport.library') THEN DO
  100.   AddLib('rexxsupport.library',0,-30)
  101. END;
  102.  
  103. ADDRESS COMMAND 'Wait 10'
  104.  
  105. Delete(tempname)
  106.